Various forms of storage systems are used today. These forms include direct attached storage (DAS) network attached storage (NAS) systems, storage area networks (SANs), and others. Network storage systems are commonly used for a variety of purposes, such as providing multiple users with access to shared data, backing up data and others.
A storage system typically includes at least one computing system executing a storage operating system for storing and retrieving data on behalf of one or more client computing systems (“clients”). The storage operating system stores and manages shared data containers in a set of mass storage devices.
Storage systems are being used extensively in the cloud based and virtual environments where a physical resource is time-shared among a plurality of independently operating processor executable virtual machines. Typically, storage space is presented to a virtual machine as a virtual hard disk (VHD) file. A storage drive (for example, C:\) is then presented to a user via a user interface within a virtual machine context. The user can use the storage drive to access storage space to read and write information.
Storage related services are provided for replicating and restoring applications and virtual machines. Plug-in based frameworks are being developed for providing such services, especially in the cloud based environment. Typically, multiple plug-in are used to collect information that is needed for storage service related operations. Continuous efforts are being made for developing methods and systems for enabling efficient communication between plug-ins.